package com.group3.pojo.receive;

import com.group3.controller.Validated.Add;
import com.group3.pojo.Page;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import java.util.Date;

/**
 * selectLeave
 *
 * @author HY
 * 2021/06/04 10:58
 **/


@Data
@ToString
@ApiModel("请假参数类")
public class LeaveReceive extends Page {

    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(name = "startTime", value = "提交日期开始时间",
            dataType = "date")
    private Date startTime;

    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(name = "endTime", value = "提交日期结束时间",
            dataType = "date")
    private Date endTime;

    @ApiModelProperty(name = "departName", value = "院系",
            dataType = "String")
    private String departName;

    @ApiModelProperty(name = "professionName", value = "专业",
            dataType = "String")
    private String professionName;

    @ApiModelProperty(name = "grade", value = "年级",
            dataType = "String")
    private String grade;

    @ApiModelProperty(name = "classId", value = "班级",
            dataType = "String")
    private String classId;

    //TODONE 可能不需要
//    @ApiModelProperty(name = "groupName", value = "小组",
//            dataType = "String")
//    private String groupName;

    @ApiModelProperty(name = "studentId", value = "学号",
            dataType = "String")
    private String studentId;

    @NotEmpty(message = "学员姓名不能为空", groups = Add.class)
    @ApiModelProperty(name = "studentName", value = "学员姓名",
            dataType = "String")
    private String studentName;

    @ApiModelProperty(name = "theme", value = "主题",
            dataType = "String")
    private String theme;

    @ApiModelProperty(name = "type", value = "请假类型",
            dataType = "Integer")
    private Integer type;

    @ApiModelProperty(name = "type", value = "请假原因",
            dataType = "String")
    private String reason;

    @ApiModelProperty(name = "state", value = "审批状态",
            dataType = "Integer")
    private Integer state;

    @ApiModelProperty(name = "teacherId", value = "审批人",
            dataType = "String")
    private String teacherId;
}
